import { useIntersectionObserver } from '@vueuse/core'
// npm install @vueuse/core

// 定义懒加载插件
export const lazyPlugin = {
    install(app: any) {
        // 懒加载指令逻辑
        app.directive('img-lazy', {
            mounted(el: any, binding: any) {
                const { stop } = useIntersectionObserver(
                    el,
                    ([{ isIntersecting }]: any) => {
                        if (isIntersecting) {
                            // 进入视口区域
                            el.src = binding.value
                            // 监听的图片第一次加载完成之后就停止监听
                            stop()
                        }
                    }
                )
            },
        })
    }
}